package tpase.GlobalServer.Service;

import tpase.GlobalServer.DAO.GroupGeneratorDao;
import tpase.GlobalServer.DAO.PublicCommitmentDao;
import tpase.GlobalServer.DAO.PublicParameterDao;
import tpase.GlobalServer.DO.GroupGenerator;
import tpase.GlobalServer.DO.PublicCommitment;
import tpase.GlobalServer.DO.PublicParam;
import tpase.GlobalServer.DO.PublicParameter;

import java.util.List;

public interface GlobalServerService {
    GroupGeneratorDao groupGeneratorDao = new GroupGeneratorDao();
    PublicCommitmentDao publicCommitmentDao = new PublicCommitmentDao();
    PublicParameterDao publicParameterDao = new PublicParameterDao();

    /**
     * 存储 生成元
     * @param groupGeneratorList
     */
    void storeGroupGenerator(List<GroupGenerator> groupGeneratorList);

    /**
     * 存公开承诺（用于零知识证明）
     * @param publicCommitmentList
     */
    void storePublicCommitment(List<PublicCommitment> publicCommitmentList);

    /**
     * 存储 t 和 n
     * @param publicParameter
     */
    void storePublicParameter(PublicParameter publicParameter);

    List<GroupGenerator> getGroupGenerator();

    List<PublicCommitment> getPublicCommitment();

    PublicParameter getPublicParameter();
}
